RabbitMQ管理页面通过nginx反向代理报错解决 | 您所在的位置:网站首页 › rocketmq 管理页面 › RabbitMQ管理页面通过nginx反向代理报错解决 |
欢迎加入QQ讨论群: 839421316 创建时间不长,请积极讨论 问题说明在RabbitMQ的管理页面,当查看Queue信息时,出现以下错误。 Not found The object you clicked on was not found; it may have been deleted on the server.Nginx配置内容 server { listen 80; server_name file.ihayun.com; location / { port_in_redirect on; proxy_redirect off; proxy_pass http://172.16.0.11:15672/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header User-Agent $http_user_agent; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }RabbitMQ配置 [ {rabbit, {loopback_users, []} ]}, {kernel, ]}, {rabbitmq_management, [{path_prefix, "/my-prefix"} ]}, {rabbitmq_shovel, [{shovels, ]} ]}, {rabbitmq_stomp, ]}, {rabbitmq_mqtt, ]}, {rabbitmq_amqp1_0, ]}, {rabbitmq_auth_backend_ldap, ]} ]. 解决方法 upstream rabbitbackend { server 172.16.0.11:15672; } server { listen 80; server_name my.abc.com; location / { port_in_redirect on; proxy_redirect off; proxy_pass http://rabbitbackend; proxy_set_header X-Real-IP $remote_addr; proxy_set_header User-Agent $http_user_agent; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location ~* /rabbitmq/api/ { rewrite ^ $request_uri; rewrite ^/rabbitmq/api/(.*) /api/$1 break; return 400; proxy_pass http://rabbitbackend$uri; proxy_buffering off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } 问题原因由于在RabbitMQ的请求路径中,存在特殊的字符"%2F",Nginx在反向代理时转换失败。因此,需要把"%2F"正常传给RabbitMQ 如果有什么问题,可以加入QQ群进行讨论。QQ群:839421316 谢谢支持。 |
CopyRight 2018-2019 实验室设备网 版权所有 |